﻿#设置编译debug和release开关
#SET(CMAKE_BUILD_TYPE "Debug")
#SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -o0 -Wall -g2 -ggdb")
#SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -o3 -Wall")

message("CMAKE_CURRENT_BINARY_DIR " ${CMAKE_CURRENT_BINARY_DIR})

add_library(ISO8583
    ByteUtil.cpp
    StrFieldManager.cpp
    BcdFieldManager.cpp
    HexFieldManager.cpp
    FieldManager.cpp
    BitArray.cpp
    ISO8583.cpp
    )

# 对于使用本库的用户，需要将含当前目录文件包含在include搜索路径中 
# 即使用改库的用户，inlcude路经中会自动包含当前目录,在本目录包含库对外提供的.h接口文件，用户就可以直接include改头文件 
# 这样省去了用户添加改库时，再手动添加目录都include路径中，只要包含改库，这个目录就会自动添加到用户工程的include路径中
target_include_directories(ISO8583
    INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}
#    PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
    )

#if(HAVE_LOG AND HAVE_EXP)
#    target_compile_definitions(MathFunctions PRIAVTE "HAVE_LOG" "HAVE_EXP")
#endif()

# 配置安装时的规则
# 安装时当前工程以lib库方式存在目标的lib库下
install(TARGETS ISO8583 DESTINATION lib)
# 文件存在目标的include下
install(FILES ISO8583.h DESTINATION include)
